package com.yq.cp.entity.permission;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yq.cp.entity.common.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.Date;

/**
 * <p>
 * 
 * </p>
 *
 * @author zh
 * @since 2022-09-21
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("t_user")
public class User extends BaseEntity {

    private static final long serialVersionUID = 1L;

    private String username;
    @TableField(value = "password", select = false)
    private String password;

    private String phone;
    //姓名
    private String nickname;


    private String headPortrait;

    //邮箱
    private String mailbox;

    /** 10-总平台超级管理员,20-商户管理员,30-用户*/
    private Integer type;

    private String openId;


    private String wechatName;
    private String wechatHeadPortrait;
    /**
     * 站点负责人电子签名
     */
    private String examinePersonSignature;
    /**
     * 登录时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date loginTime;

    /**状态:0-正常,1-停用*/
    private Integer state;

    @TableField(exist = false)
    private Long companyId;
    @TableField(exist = false)
    private String companyName;

    private String code;

    private Long roleId;
    /**
     * 自我介绍
     * */
    @TableField(exist = false)
    private String introduce;
    /**
     * 地区名称
     * */
    @TableField(exist = false)
    private String regionName;
    /**
     * 确认密码/新密码
     */
    @TableField(exist = false)
    private String newPassword;

    /**
     * 0-待审核  1-审核通过  2-审核拒绝
     */
    private Integer examine;

    /**
     * 电子签名
     */
    private String electronicSignature;
    /**
     * 架构id
     */
    private Long structureId;

    private Long siteId;
    @TableField(exist = false)
    private String siteName;
    private Long departmentId;
    @TableField(exist = false)
    private String departmentName;
    private Long positionId;
    @TableField(exist = false)
    private String positionName;
    @TableField(exist = false)
    private Long quId;
    @TableField(exist = false)
    private String quName;
    @TableField(exist = false)
    private Long shiId;
    @TableField(exist = false)
    private String shiName;
    @TableField(exist = false)
    private Long shengId;
    @TableField(exist = false)
    private String shengName;
    @TableField(exist = false)
    private Long daquId;
    @TableField(exist = false)
    private String daquName;
    @TableField(exist = false)
    private Long qudaoshangId;
    @TableField(exist = false)
    private String qudaoshangName;
    /**
     * 审核人id
     */
    private Long examinePersonId;
    /**
     * 审核人名
     */
    private String examinePersonName;

    /**
     * 审核理由
     */
    private String examineReason;
    /**
     * 审核时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date examineTime;


    @TableField(exist = false)
    private Integer jjbType;
    /**
     * 0-不调 1-调
     */
    @TableField(exist = false)
    private Integer sfqh;

    @TableField(exist = false)
    private String sitePhoto;
}
